#ifndef __eform_h__
#define __eform_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "element.h"

/* header files for imported files */
#include "domcoll.h"

#ifndef __IHTMLFormElement_FWD_DEFINED__
#define __IHTMLFormElement_FWD_DEFINED__
typedef interface IHTMLFormElement IHTMLFormElement;
#endif     /* __IHTMLFormElement_FWD_DEFINED__ */

#ifndef __IHTMLFormElement2_FWD_DEFINED__
#define __IHTMLFormElement2_FWD_DEFINED__
typedef interface IHTMLFormElement2 IHTMLFormElement2;
#endif     /* __IHTMLFormElement2_FWD_DEFINED__ */

#ifndef __IHTMLFormElement3_FWD_DEFINED__
#define __IHTMLFormElement3_FWD_DEFINED__
typedef interface IHTMLFormElement3 IHTMLFormElement3;
#endif     /* __IHTMLFormElement3_FWD_DEFINED__ */

#ifndef __IHTMLSubmitData_FWD_DEFINED__
#define __IHTMLSubmitData_FWD_DEFINED__
typedef interface IHTMLSubmitData IHTMLSubmitData;
#endif     /* __IHTMLSubmitData_FWD_DEFINED__ */

#ifndef __IHTMLFormElement_INTERFACE_DEFINED__

#define __IHTMLFormElement_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLFormElement;


MIDL_INTERFACE("3050f1f7-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFormElement : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE put_action(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_action(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_dir(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_dir(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_encoding(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_encoding(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_method(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_method(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_elements(
         /* [out] */ IDispatch* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_target(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_target(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onsubmit(
         /* [in] */ VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onsubmit(
         /* [out] */ VARIANT * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreset(
         /* [in] */ VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreset(
         /* [out] */ VARIANT * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE submit(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE reset(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_length(
         /* [in] */ long v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
         /* [out] */ long * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
         /* [out] */ IUnknown* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
            /* [in] */ VARIANT name,/* [in] */ VARIANT index,/* [out] */ IDispatch** pdisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE tags(
            /* [in] */ VARIANT tagName,/* [out] */ IDispatch** pdisp) = 0;

};

#endif     /* __IHTMLFormElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLFormElement2_INTERFACE_DEFINED__

#define __IHTMLFormElement2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLFormElement2;


MIDL_INTERFACE("3050f4f6-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFormElement2 : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE put_acceptCharset(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_acceptCharset(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE urns(
            /* [in] */ VARIANT urn,/* [out] */ IDispatch** pdisp) = 0;

};

#endif     /* __IHTMLFormElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLFormElement3_INTERFACE_DEFINED__

#define __IHTMLFormElement3_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLFormElement3;


MIDL_INTERFACE("3050f836-98b5-11cf-bb82-00aa00bdce0b")
IHTMLFormElement3 : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE namedItem(
            /* [in] */ BSTR name,/* [out] */ IDispatch** pdisp) = 0;

};

#endif     /* __IHTMLFormElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLSubmitData_INTERFACE_DEFINED__

#define __IHTMLSubmitData_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLSubmitData;


MIDL_INTERFACE("3050f645-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSubmitData : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE appendNameValuePair(
            /* [in] */ BSTR name,/* [in] */ BSTR value) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendNameFilePair(
            /* [in] */ BSTR name,/* [in] */ BSTR filename) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendItemSeparator(
            ) = 0;

};

#endif     /* __IHTMLSubmitData_INTERFACE_DEFINED__ */



EXTERN_C const GUID GUID_HTMLFormElement;



EXTERN_C const GUID DIID_DispHTMLFormElement;


#ifndef _CFormElement_PROPDESCS_
EXTERN_C const PROPERTYDESC_BASIC s_propdescCFormElementaction;
EXTERN_C const PROPERTYDESC_NUMPROP s_propdescCFormElementencoding;
EXTERN_C const PROPERTYDESC_NUMPROP s_propdescCFormElementmethod;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCFormElementelements;
EXTERN_C const PROPERTYDESC_BASIC s_propdescCFormElementtarget;
EXTERN_C const PROPERTYDESC_CSTR_GETSET s_propdescCFormElementname;
EXTERN_C const PROPERTYDESC_BASIC s_propdescCFormElementonsubmit;
EXTERN_C const PROPERTYDESC_BASIC s_propdescCFormElementonreset;
EXTERN_C const PROPERTYDESC_NUMPROP s_propdescCFormElementdir;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCFormElementsubmit;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCFormElementreset;
EXTERN_C const PROPERTYDESC_BASIC s_propdescCFormElementacceptCharset;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCFormElementappendNameValuePair;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCFormElementappendNameFilePair;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCFormElementappendItemSeparator;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCFormElementlength;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCFormElement_newEnum;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCFormElementtags;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCFormElementitem;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCFormElementurns;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCFormElementnamedItem;

#endif


#endif /*__eform_h__*/

